.\"   $Id: substdupablexpr.3,v 1.1 2002/03/18 11:06:16 ludo Exp $
.\" @(#)substdupablexpr.2 2.7 96/07/02 ; Labo masi cao-vlsi; Author : Jacomme Ludovic
.TH SUBSTDUPABLEXPR 3 "October 1, 1997" "ASIM/LIP6" "ABL FUNCTIONS"
.SH NAME
substdupablexpr \- substitutes a given atom by an expression.

.so man1/alc_origin.1
.SH SYNOPSIS
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "abl101.h"
chain_list \(**substdupablexpr( Expr1, Name, Expr2 )
  chain_list \(**Expr1;
  char       \(**Name;
  chain_list \(**Expr2;
.ft R
.fi
.SH PARAMETERS
.TP 20
\fIExpr1\fP
First expression.
.TP
\fIName\fP
Atom name.
.TP
\fIExpr\fP
Second expression.
.SH DESCRIPTION
\fBsubstdupablexpr\fP duplicates and substitutes \fIAtom\fP in \fIExpr1\fP by \fIExpr2\fP.
.br
.SH RETURN VALUE
\fBsubstdupablexpr\fP returns the duplicated and modified expression.
.SH EXAMPLE
.ta 3n 6n 9n 12n 15n 18n 21n
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "abl101.h"
  chain_list \(**Expr1;
  chain_list \(**Expr2;
  chain_list \(**Expr3;
  Expr1 = createablbinexpr( ABL_OR,
                            createablatom( "a" ),
                            createablatom( "b" ) );
  Expr2 = createablbinexpr( ABL_AND,
                            createablatom( "c" ),
                            createablatom( "d" ) );
  Expr3 = substdupablexpr( Expr1, "a", Expr2 );
  /* displays ((c and d) or b) */
  viewablexpr( Expr1, ABL_VIEW_VHDL );
.ft R
.fi
.SH SEE ALSO
.BR abl (1),
.BR substablexpr(3).


.so man1/alc_bug_report.1

